types/functionalism Type statements for preds and preds they call - some lines have type statements functionalism/types fitting into types sent to spec dict including gap closing dict - work forwards from i types and backwards from o types - type statements with variables - to move wanted variables (to create enumerator variables, interpreter data or ssi data) and write alg, e.g. with data transformation in stages - recog patterns in type statements to write alg, e.g. intersection - ordered or not - label type parts, in terms of sent - to create types (fn types x rec types) and alg - sent spec determines what types will do with each other - other sent in dict e.g. var a at same level as var b in a list, or var c followed (ordered) by list of lists of x, a rule: if var d with a certain structure exists, then do something, before or after something, to find correct data transformation stages to equal required output - type statements can be given in qa, with alg written moving non-recursive parts forward - make e.g. fns in fns: maplist stringconcat work